#!/bin/bash
# 批量转换 png -> webp 并替换纹理引用
# brew install webp
# ./spine_png_2_webp.sh <source_directory>

# 源目录
if [ -z "$1" ]; then
    echo "Usage: $0 <source_directory>"
    exit 1
fi

SOURCE_DIR=$(cd "$(dirname "$1")" && pwd)/$(basename "$1")

if [ ! -d "$SOURCE_DIR" ]; then
    echo "Error: $SOURCE_DIR is not a valid directory."
    exit 1
fi

echo "Source directory: $SOURCE_DIR"
echo "开始转换 $SOURCE_DIR 目录下的所有 png 文件为 webp 格式..."

# 遍历目录中的所有 png 文件
find "$SOURCE_DIR" -type f -name "*.png" | while read -r file; do
  # 获取文件目录和文件名（不含扩展名）
  dir=$(dirname "$file")
  base=$(basename "$file" .png)
  
  # 使用 cwebp 转换文件为 webp 格式，质量设置为 85
  cwebp -q 85 "$file" -o "$dir/$base.webp"
  
  # 可选：删除原始 png 文件
  # rm "$file"
done

echo "转换完成！"

echo "开始替换 $SOURCE_DIR 目录中的所有 atlas 文件中的 .png 为 .webp..."

# 遍历目录中的所有 atlas 文件
find "$SOURCE_DIR" -type f -name "*.atlas" | while read -r file; do
  # 替换所有的 .png 为 .webp
  sed -i '' 's/\.png/\.webp/g' "$file"
done

echo "替换完成！"